package cn.silver.module.web.model;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@Schema(title = "登录信息对象")
public class LoginModel {
    @Schema(title = "客户端主键")
    private String clientId;

    @Schema(title = "客户端编码")
    private String clientCode;

    @Schema(title = "客户端授权类型")
    @NotBlank(message = "{auth.grant.blank}")
    private String grantType;

    @Schema(title = "登录租户")
    private String tenantId;

    @Schema(title = "密码认证信息")
    private LoginPasswordModel password;

    @Schema(title = "短信认证信息")
    private LoginSmsModel sms;

    @Schema(title = "邮箱认证信息")
    private LoginEmailModel email;

    @Schema(title = "社交认证信息")
    private LoginSocialModel social;

    @Schema(title = "小程序认证信息")
    private LoginXcxModel xcx;
}
